(a) Field of the Invention
The present invention relates to an apparatus for controlling robotic movements, and more particularly to a path planning apparatus and method for operating robots.
(b) Description of the Related Art
Path planning for robots used in industrial applications is of foremost concern for those in the field of robotics. In particular, the ability to precisely maintain a pre-programmed path, and smoothly and reliably realize corner blending between straight and curved path segments are attributes robots must possess. In recent times, these capabilities are realized utilizing acceleration/deceleration techniques that strive to make these changes in speed smooth.
A linear acceleration/deceleration control system using a linear filter is one type of such acceleration/deceleration technique. The linear control system allows for relatively quick acceleration and deceleration, but has the drawback of performing these movements too abruptly. Such abrupt acceleration and deceleration exert excessive stress on the robot body and related parts.
FIG. 1 shows a block diagram of a conventional path planning apparatus. The conventional path planning apparatus comprises a planner 10 which receives target positioning information, performs calculations using this information to obtain a speed profile, then outputs the speed profile; an interpolator 20 which receives the speed profile from the planner 10, executes a path interpolation operation using the received speed profile and outputs the resulting, more smooth speed profile; a servo controller 30 which receives the speed profile from the interpolator 20 and outputs corresponding control signals; and a servo motor 40 which is controlled by the signals received from the servo controller 30.
The interpolator 20 is a linear filter and, as shown in FIG. 2, includes at least one unit delay 21, an adder 22 and a coefficient multiplier 23. The letter "F" in the drawing indicates an order of the filter and serves as a length of an acceleration/deceleration section.
With reference also to FIGS. 3 and 4, in such a conventional path planning apparatus, the planner 10 outputs an initial speed profile Va, calculated to reach a target position, to the interpolator 20 which performs a path interpolation operation using the received initial speed profile Va to obtain a filtered speed profile Vb. The filtered speed profile Vb is then output by the interpolator 20 to the servo controller 30 which outputs control signals based on the filtered speed profile Vb to drive the servo motor 40.
As shown in FIG. 4, an acceleration profile A is obtained by differentiating the filtered speed profile Vb, after which the acceleration profile A is differentiated to obtain a jerk profile J. Here, jerk is a vector designating a time rate of change of acceleration and deceleration. Accordingly, the jerk profile J indicates the level of abrupt forces being exerted on the robot body and the degree to which robotic movements are executed in an abrupt fashion. Continued exposure to abrupt jerks results in damage to the robot body and related parts. As can be seen in FIG. 4, the jerk profile J resulting in the conventional path planning apparatus for robots is very abrupt.
U.S. Pat. No. 5,434,489 discloses a path planning apparatus for robots in which two linear filters are used to minimize abrupt forces being exerted on the robot body. FIG. 5 shows a block diagram of the path planning apparatus of the '489 patent. Since only an interpolator 20 of the '489 patent differs from that of the path planning apparatus described above, like reference numerals will be used for the other elements.
As shown in the drawing, the interpolator 20 comprises a first linear filter 24 and a second linear filter 25. With this configuration, when the initial speed profile Va is input to the interpolator 20 by the planner 10, a filtered speed profile Vb' as shown in FIG. 6 is output from the interpolator 20. Sections corresponding to acceleration and deceleration are curves of second order functions.
An acceleration speed profile A' and a jerk profile J' are obtained from the filtered speed profile Vb' as in the above. As shown in the drawing, the jerk profile J' obtained with the use of the two linear filters 24 and 25 is smoother than when utilizing only a single linear filter, thereby reducing damage given to the robot body and making the robotic movements less abrupt. Nevertheless, the problem of significant changes in jerk remains such that the same negative results occur. Further, the use of the second filter has the effect of increasing calculation times, and therefore overall response times of the robot are delayed.